<head>
  <title>nsICrashService plugin hang</title>
  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
  <script type="application/javascript" src="plugin-utils.js"></script>

<body>
  <script class="testbody" type="application/javascript">
  SimpleTest.waitForExplicitFinish();
  SimpleTest.requestFlakyTimeout(
    "crashAndGetCrashServiceRecord() polls for async crash recording");
  SimpleTest.requestCompleteLog();
  setTestPluginEnabledState(SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED);

  window.frameLoaded = function frameLoaded_toCrash() {
    SimpleTest.expectChildProcessCrash();

    // the default timeout is annoying high for mochitest runs
    var timeoutPref = "dom.ipc.plugins.timeoutSecs";
    SpecialPowers.setIntPref(timeoutPref, 5);

    crashAndGetCrashServiceRecord("hang", function (cm, crash) {
      ok(crash.isOfType(cm.PROCESS_TYPE_PLUGIN, cm.CRASH_TYPE_HANG),
         "Record should be a plugin hang");
      SimpleTest.finish();
    });
  }
  </script>
  <iframe id="iframe1" src="crashing_subpage.html" width="600" height="600"></iframe>
